<?php
session_start();
?>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
        <title>Sistema de fichas</title>

        <link rel="stylesheet" type="text/css" href="../lib/ext/resources/css/ext-all.css" />
        <link rel="stylesheet" type="text/css" href="../css/rowactions.css" />
        <script type="text/javascript" src="../views/js/PanelSimple.js"></script>
        <script type="text/javascript" src="../lib/ext/adapter/ext/ext-base.js"></script>
        <script type="text/javascript" src="../lib/ext/ext-all.js"></script>
        <script type="text/javascript" src="../lib/ext/ext-lang-es.js"></script>
        <script type="text/javascript" src="../views/js/FormularioDerivacion.js"></script>
        <script type="text/javascript" src="../views/js/FormularioFicha.js"></script>
        <script type="text/javascript" src="../views/js/FormularioDiagnostico.js"></script>
        <script type="text/javascript" src="../views/js/MenuPrincipal.js"></script>
        <script type="text/javascript" src="../lib/ext/ux/RowActions.js"></script>


    </head>
    <body id="docbody">

        <script type="text/javascript">

            nombreUser= '<?php echo $_SESSION['user']; ?>';
            var filasPP = 50;

            function anyos(x) {
                var actual = (new Date()).getFullYear();
                var inicio = x;
                var arr = [];
                i =0;
                for (i = actual - inicio; i >= 0; i--) {
                    arr[i] = actual - i;
                }
                arr[i+1]= 'Todos'
                return arr;
            }
    
            Ext.onReady(function() {

                var centro = new Ext.Panel({
                    region:'center',
                    border: false
                });

                var tb = MenuPrincipal();

                var appLayout = new Ext.Viewport({
                    renderTo: 'docbody',
                    layout:'border',
                    autoScroll: true,
                    items: [
                        {
                            title: 'Sistema Fichas UAAEP',
                            autoHeight: true,
                            region: 'north',
                            anchor: '100%',
                            items:[
                                tb
                            ]
                        },
                        centro
                    ]
                });

                //PRUEBAS!!!!!!

                var panelBusqueda = new Ext.Panel({
                    autoHeight: true,
                    layout: 'form',
                    region:'north',
                    border: false,
                    defaults : {
                        layout:'column',
                        defaults : {
                            padding: 10,
                            border: false,
                            xtype: 'form',
                            keys: [
                                { key: [Ext.EventObject.ENTER], handler: function() {
                                        storeEstudiantes.reload();
                                    }
                                }
                            ],
                            defaults: {
                                labelStyle: "width:auto;"
                            }
                        },
                        border: false
                    },
                    items:[
                        {
                            items:[
                                {
                                    items:[
                                        {
                                            id:'textRut',
                                            xtype: 'textfield',
                                            fieldLabel: 'RUT'
                                        }
                                    ]
                                },
                                {
                                    items:[
                                        {
                                            id:'textNombre',
                                            xtype: 'textfield',
                                            width: 150,
                                            fieldLabel: 'Nombre'
                                        }
                                    ]
                                },
                                {
                                    items:[
                                        {
                                            id:'textAnyoI',
                                            xtype: 'combo',
                                            width: 100,
                                            fieldLabel: 'Año ingreso unidad',
                                            triggerAction: 'all',
                                            store: anyos(1995)
                                        }
                                    ]
                                },
                                {
                                    items: [
                                        {
                                            id:'textFechN',
                                            xtype: 'combo',
                                            width: 100,
                                            triggerAction: 'all',
                                            fieldLabel: 'Año de nacimiento',
                                            store: anyos(1940)
                                        }
                                    ]
                                },{
                                    items:[{
                                            id:'botonClean',
                                            xtype: 'button',
                                            text: 'Limpiar campos',
                                            iconCls: 'clean-form',
                                            
                                            handler: function(){
                                                Ext.getCmp('textAnyoI').setValue('Todos');
                                                Ext.getCmp('textFechN').setValue('Todos');
                                                Ext.getCmp('textRut').setValue('');
                                                Ext.getCmp('textNombre').setValue('');
                                            }
                                        }
                                    ]},{
                                    items:[{
                                            id:'botonB',
                                            xtype: 'button',
                                            text: 'Buscar estudiantes',
                                            iconCls: 'find-form',
                                            
                                            handler: function(){
                                                storeEstudiantes.reload();
                                            }

                                        }
                                    ]}
                            ]
                        }
                    ]
                });

                Ext.getCmp('textAnyoI').setValue('Todos');
                Ext.getCmp('textFechN').setValue('Todos');

                var actionsGrid = new Ext.ux.grid.RowActions({
                    header: 'Acciones',
                    autoWidth: false,
                    width:150,
                    keepSelection:true,
                    actions:[{
                            iconCls:'icon-details',
                            tooltip: 'Ver detalles del estudiante'}
                    ]
                });

                function seleccionarFicha(id_ficha,id_carrera){
                    ventana = new Ext.Window({
                        modal: true,
                        title: 'Editar Usuario',
                        closable: true,
                        closeAction: 'close',
                        resizable: false,
                        autoScroll:true,
                        //maximizable: true,
                        plain: true,
                        border: false,
                        width: 1000,
                        height: 600

                    });
                    ventana.add(mostrarFicha(id_ficha,id_carrera));
                    ventana.show();
                }

                actionsGrid.on({
                    action:function(grid,record,action,row,col){
                        if(action=='icon-details'){
                            seleccionarFicha(record.get('id_ficha'),record.get('id_carrera'));
                        }
                    }
                });

                var storeEstudiantes = new Ext.data.JsonStore({
                    fields: [
                        {name:'id_ficha', mapping:'ID_FICHA_ALUMNO'},
                        {name:'rut', mapping:'RUT'},
                        {name:'apaterno', mapping:'AP_PATERNO'},
                        {name:'amaterno', mapping:'AP_MATERNO'},
                        {name:'nombres', mapping:'NOMBRE'},
                        {name:'edad', mapping:'EDAD'},
                        {name:'id_carrera', mapping:'ID_CARRERA'},
                        {name:'carrera', mapping:'NOMBRE_CARRERA'},
                        {name:'aingreso', mapping:'ANIO_INGRESO'},
                        {name:'eacademico', mapping:'NOMBRE_ESTADO'}
                    ],
                    root: 'data',
                    url:'../controllers/C_Ficha.php',
                    storeId:'data' // id for each record will be the first element
                });

                storeEstudiantes.on('beforeload',function(){
                    storeEstudiantes.setBaseParam('method','buscarFicha');
                    storeEstudiantes.setBaseParam('brut',Ext.getCmp('textRut').getValue());
                    storeEstudiantes.setBaseParam('bnombre',Ext.getCmp('textNombre').getValue());
                    storeEstudiantes.setBaseParam('banioi',Ext.getCmp('textAnyoI').getValue());
                    storeEstudiantes.setBaseParam('banion',Ext.getCmp('textFechN').getValue());
                    storeEstudiantes.setBaseParam('start',0);
                    storeEstudiantes.setBaseParam('limit',filasPP);
                });
                storeEstudiantes.reload();


                estPagBar = new Ext.PagingToolbar({
                    pageSize: filasPP,
                    store: storeEstudiantes,
                    prependButtons:true,
                    displayMsg:'Mostrando desde el {0} - {1} de {2}',
                    emptyMsg: 'No hay elementos para mostrar',
                    beforePageText:'Página',
                    afterPageText:'de {0}',
                    firstText:'Primera página',
                    lastText:'Última página',
                    nextText:'Siguiente',
                    prevText: 'Anterior',
                    refreshText:'Recargar',
                    displayInfo: true
                });



                var tablaEstudiante = new Ext.grid.GridPanel({
                    region: 'center',
                    frame: true,
                    //                    anchor: '100%',
                    loadMask:true,
                    store: storeEstudiantes,
                    autoScroll: true,
                    plugins:[actionsGrid],
                    colModel: new Ext.grid.ColumnModel({
                        defaults: {
                            sortable: true
                        },
                        columns: [
                            {header: 'RUT', sortable: true, dataIndex: 'rut'},
                            {header: 'Apellido Paterno', dataIndex: 'apaterno'},
                            {header: 'Apellido Materno', dataIndex: 'amaterno'},
                            {header: 'Nombres', dataIndex: 'nombres',width:200},
                            {header: 'Edad', dataIndex: 'edad'},
                            {header: 'Carrera', dataIndex: 'carrera',width:200},
                            {header: 'Año ingreso', dataIndex: 'aingreso'},
                            {header: 'Estado Académico', dataIndex: 'eacademico'},
                            actionsGrid



                            // instead of specifying renderer: Ext.util.Format.dateRenderer('m/d/Y') use xtype
                        
                        ]
                    }),
                    bbar: estPagBar
                    ,
                    viewConfig: {
                        forceFit: true,

                        //      Return CSS class to apply to rows depending upon data values
                        getRowClass: function(record, index) {
                            var c = record.get('change');
                            if (c < 0) {
                                return 'price-fall';
                            } else if (c > 0) {
                                return 'price-rise';
                            }
                        }
                    },
                    sm: new Ext.grid.RowSelectionModel({singleSelect:true}),
                    height:550,

                    iconCls: 'icon-grid'
                });

                var vista = new Ext.Panel({
                    height: 1500,
                    layout:'border',
                    title: 'Búsqueda de Estudiantes',
                    border: false,
                    items: [
                        panelBusqueda,
                        {
                            collapsible: false,
                            region:'center',
                            items:[tablaEstudiante]
                        }]
                });
                centro.add(vista);
                centro.doLayout();
                panelBusqueda.doLayout();
                vista.doLayout();

                //FIN PRUEBAS



                appLayout.doLayout();
            });

        </script>
    </body>
</html>
